using System;
using System.Collections.Generic;

namespace SLBehaviourSystem
{
    
    public class BehaviourRuntimeNodeType
    {

//Action
        public const string Action="Action";

//Condition
        public const string Condition="Condition";

//Composite
        public const string Parallel="Parallel";
        public const string Selector="Selector";
        public const string Squence="Squence";

//Decorator
        public const string Enter="Enter";

    }

    public partial class BehaviourRuntimeNodeConfig
    {
        public static Dictionary<string, Type> ActionNodeDict = new Dictionary<string, Type>()
        {
            {BehaviourRuntimeNodeType.Action,typeof(ActionNode) },

        };

        public static Dictionary<string, Type> ConditionNodeDict = new Dictionary<string, Type>()
        {
            {BehaviourRuntimeNodeType.Condition,typeof(ConditionNode) },

        };

        public static Dictionary<string, Type> CompositeNodeDict = new Dictionary<string, Type>()
        {
            {BehaviourRuntimeNodeType.Parallel,typeof(ParallelNode) },
            {BehaviourRuntimeNodeType.Selector,typeof(SelectorNode) },
            {BehaviourRuntimeNodeType.Squence,typeof(SquenceNode) },

        };
        public static Dictionary<string, Type> DecoratorNodeDict = new Dictionary<string, Type>()
        {
            {BehaviourRuntimeNodeType.Enter,typeof(EnterNode) },

        };
    }
    
}

